home *** CD-ROM | disk | FTP | other *** search
/ Libris Britannia 4 / science library(b).zip / science library(b) / DJGPP / CBGRX103.ZIP / contrib / libgrx / drivers / vmode.c < prev   
Text File  |  1993-12-06  |  1KB  |  49 lines

  1. #include <stdlib.h>
  2. #include <stdio.h>
  3. #include <ctype.h>
  4.  
  5. #include <grx.h>
  6. #include <grdriver.h>
  7.  
  8. void usage(char *progname,char *reason)
  9. {
  10.     fputs(progname,stderr);
  11.     fputs(reason,stderr);
  12.     fputs("\n"
  13.         "usage: VMODE mode [resolution [colors]]\n"
  14.         "arguments:\n"
  15.         "\tmode         - selects text (T) or graphics (G) mode\n"
  16.         "\tresolution   - format: WIDTHxHEIGHT if omitted use driver defaults\n"
  17.         "\tcolors       - number of colors to set up\n\n",
  18.         stderr
  19.     );
  20. }
  21.  
  22. void main(int argc,char **argv)
  23. {
  24.     int type,w,h,c,n = 0;
  25.  
  26.     if(argc < 2) {
  27.         usage(argv[0],": missing argument(s)\n");
  28.         exit(1);
  29.     }
  30.     if(((type = toupper(argv[1][0])) != 'T') && (type != 'G')) {
  31.         usage(argv[0],": invalid mode argument\n");
  32.         exit(1);
  33.     }
  34.     if(argc > 2) n  = sscanf(argv[2],"%dx%d",&w,&h);
  35.     if(argc > 3) n += sscanf(argv[3],"%d",&c);
  36.     _GrLowSetMode(
  37.         ((type == 'G') ?
  38.         ((n < 2) ?
  39.             GR_default_graphics :
  40.             ((n > 2) ?
  41.             GR_width_height_color_graphics :
  42.             GR_width_height_graphics)) :
  43.         ((n < 2) ? GR_default_text : GR_width_height_text)),
  44.         w,h,c
  45.     );
  46.     exit(0);
  47. }
  48.  
  49.